package http

import (
	"im/im-cloud/util"
	"im/model"
	http2 "im/server/http"
	"sixGo/im/imstar/config"
	"strconv"
)

var key = config.Cfg.Keys.Jwt

// Login todo 登录方法，将token返回给前端
func Login(ctx *http2.Context)  {
	id, _ := strconv.Atoi(ctx.Request.PostFormValue("id")) // todo 通过前端参数 id获取值
	user, count := model.FindUserById(id) // todo 查询数据库
	if count == 0 {
		ctx.SendJson(map[string]string{
			"code" : "200",
			"msg" :  "没有该用户",
		})
		return
	}
	// 随机获取一个im-server服务
	ser := util.GetRIMServer()
	// 获取token(jwt)
	token, _ := util.GenerateToken(key, map[string]string{
		"uid" : strconv.Itoa(id),
		"name" : user.Name,
		"seruri": ser,
	})

	// 返回给用户
	ctx.SendJson(map[string]string{
		"code": "200",
		"msg": "登入成功",
		"token": token,
		"ser": ser,
	})

}
